package com.boc.ewr.outsrc.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 费用结算（批量）
 * @Author: jeecg-boot
 * @Date:   2023-06-27
 * @Version: V1.0
 */
@Data
@TableName("outsrc_exp_stlmt_batch")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="outsrc_exp_stlmt_batch对象", description="费用结算（批量）")
public class OutsrcExpStlmtBatch implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
	/**上级机构名称*/
	@Excel(name = "上级机构名称", width = 15)
    @ApiModelProperty(value = "上级机构名称")
    private String parentBranchNm;
	/**签约机构号*/
	@Excel(name = "签约机构号", width = 15)
    @ApiModelProperty(value = "签约机构号")
    private String branchNo;
	/**签约机构名称*/
	@Excel(name = "签约机构名称", width = 15)
    @ApiModelProperty(value = "签约机构名称")
    private String branchNm;
	/**账单性质*/
	@Excel(name = "账单性质", width = 15, dicCode = "protocol_type")
	@Dict(dicCode = "protocol_type")
    @ApiModelProperty(value = "账单性质")
    private String billType;
	/**账单号*/
	@Excel(name = "账单号", width = 15)
    @ApiModelProperty(value = "账单号")
    private String caNo;
	/**协议号*/
	@Excel(name = "协议号", width = 15)
    @ApiModelProperty(value = "协议号")
    private String protocolNo;
	/**账单状态*/
	@Excel(name = "账单状态", width = 15, dicCode = "bill_status")
	@Dict(dicCode = "bill_status")
    @ApiModelProperty(value = "账单状态")
    private String billStatus;
	/**回收时间*/
	@Excel(name = "回收时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "回收时间")
    private Date returnTime;
	/**账单月份*/
	@Excel(name = "账单月份", width = 15, format = "yyyyMM")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyyMM")
    @DateTimeFormat(pattern="yyyyMM")
    @ApiModelProperty(value = "账单月份")
    private Date billMon;
	/**对账地址区域*/
	@Excel(name = "对账地址区域", width = 15, dicCode = "area_type")
	@Dict(dicCode = "area_type")
    @ApiModelProperty(value = "对账地址区域")
    private String areaType;
	/**是否逾期*/
	@Excel(name = "是否逾期", width = 15, dicCode = "is_delinquent")
	@Dict(dicCode = "is_delinquent")
    @ApiModelProperty(value = "是否逾期")
    private String isDelinquent;
	/**是否为打包投递*/
	@Excel(name = "是否为打包投递", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否为打包投递")
    private String isPackaged;
	/**发送费用*/
	@Excel(name = "发送费用", width = 15)
    @ApiModelProperty(value = "发送费用")
    private String deliveryCharge;
	/**收回费用*/
	@Excel(name = "收回费用", width = 15)
    @ApiModelProperty(value = "收回费用")
    private String receiveCharge;
	/**违约扣费*/
	@Excel(name = "违约扣费", width = 15)
    @ApiModelProperty(value = "违约扣费")
    private String defaultCharge;
	/**合计费用*/
	@Excel(name = "合计费用", width = 15)
    @ApiModelProperty(value = "合计费用")
    private String totalCharge;
}
